package com.netdisk.service;

import com.netdisk.dto.request.file.AddFavoriteDTO;
import com.netdisk.dto.response.file.FavoriteDTO;
import com.netdisk.entity.File;

import java.util.List;

public interface FavoriteService {

    /**
     * 将文件添加到收藏
     * @param addFavoriteDTO
     */
    void addFavorite(AddFavoriteDTO addFavoriteDTO);

    /**
     * 取消分享
     * @param userId
     * @param fileId
     */
    void cancelFavorite(Integer userId, Integer fileId);

    /**
     * 检查文件是否被收藏
     * @param userId
     * @param fileId
     * @return
     */
    boolean isFavorite(Integer userId, Integer fileId);

    /**
     * 获取收藏文件总数
     * @param userId
     * @return
     */
    Integer getFavoriteCountById(Integer userId);

    /**
     * 获取收藏文件列表
     * @param userId
     * @return
     */
    List<FavoriteDTO> getFavoriteListById(Integer userId);


}
